package Jedis.util;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

/*
  Jedis连接池的工具类
    加载配置文件,配置连接池的参数
    提供获取连接的方法
*/
public class JedisPoolUtils {

    private static JedisPool jedisPool;

    //创建一个静态代码块,当类加载的时候读取类文件
    static {
        InputStream aa = JedisPoolUtils.class.getClassLoader().getResourceAsStream("jedis.properties");
        //创建properties对象
        Properties bb=new Properties();
        //关联文件
        try {
            bb.load(aa);
        } catch (IOException e) {
            e.printStackTrace();
        }
        //获取数据,设置到JedisPoolConfig中
        JedisPoolConfig cc=new JedisPoolConfig();
         cc.setMaxTotal(Integer.parseInt(bb.getProperty("maxTotal")));
        cc.setMaxIdle(Integer.parseInt(bb.getProperty("maxTotal")));

         //初始化JedisPool
          jedisPool=new JedisPool(cc,bb.getProperty("host"),Integer.parseInt(bb.getProperty("port")));
    }

    //获取连接方法
    public static Jedis getJedis(){
        return jedisPool.getResource();
    }
}
